
#pragma once
#include "stdafx.h"
#include "WicBitmapSource.h"

class CLASS_DECLSPEC CWicFormatConverter : public CWicBitmapSource
{
    //==============================================================================
    // CWicFormatConverter
    //==============================================================================
public:
    CWicFormatConverter(void);
    CWicFormatConverter(CWicFormatConverter const &);
    virtual ~CWicFormatConverter(void);
    CWicFormatConverter& operator=(CWicFormatConverter const &);

    //==============================================================================
    // IWICFormatConverter
    //==============================================================================
public:
    virtual HRESULT Initialize(
        /* [in] */ CWicBitmapSource *pSource,
        /* [in] */ REFWICPixelFormatGUID dstFormat,
        /* [in] */ WICBitmapDitherType dither,
        /* [unique][in] */ IWICPalette *pIPalette,
        /* [in] */ double alphaThresholdPercent,
        /* [in] */ WICBitmapPaletteType paletteTranslate);

    virtual HRESULT CanConvert(
        /* [in] */ REFWICPixelFormatGUID srcPixelFormat,
        /* [in] */ REFWICPixelFormatGUID dstPixelFormat,
        /* [out] */ __RPC__out BOOL *pfCanConvert);

};

